IP Multimedia Subsystem (IMS) is the technology defined by the Third Generation Partnership Project (3GPP) to provide IP Multimedia services over mobile communication networks. IMS provides key features to enrich the end-subscriber person-to-person communication experience through the use of standardised IMS Service Enablers, which facilitate person-to-person (client-to-client) communication services as well as person-to-content (client-to-server) services over IP-based networks. The IMS makes use of the Session Initiation Protocol (SIP) to set up and control calls or sessions between subscriber terminals (or between subscriber terminals and IMS network entities such as application servers). Whilst SIP was created as a subscriber-to-subscriber protocol, IMS allows operators and service providers to control subscriber access to services and to charge subscribers accordingly.
FIG. 1 illustrates schematically how the IMS fits into the mobile network architecture in the case of a GPRS/PS access network (IMS can of course operate over other access networks). As shown in FIG. 1, the IMS includes a core network 10 and a service network 15. Call/Session Control Functions (CSCFs) 11 operate as SIP proxies within the IMS core network 10, and interface with other entities such as Border Gateway Control Functions (BGCFs) 12 and Media Resource Function Controllers (MRFCs 13) amongst others. A Proxy CSCF (P-CSCF) is the first point of contact within the IMS for a SIP terminal; a Serving CSCF (S-CSCF) provides services to the subscriber; an Interrogating CSCF (I-CSCF) identifies the correct S-CSCF and forwards to that S-CSCF a request received from a SIP terminal via a P-CSCF. In the IMS Service Network 15, Application Servers (ASs) 16 implement the IMS service functionality. The Application Servers 16 may be connected either as session end-points or “linked in” to a session by an S-CSCF. The S-CSCF is a SIP server, but performs session control as well, handles SIP registrations, and is in the path of all signaling messages, so that it can inspect every message in a session. It decides to which ASs) the SIP message will be forwarded for the provision of services and it provides routing services.
In the IMS Core network 10, the entities communicate with each other over interfaces, many of which are referred to as M-interfaces. There are many such interfaces that have been defined: examples include the Mi interface for exchanging messages between an S-CSCF 11 and a BGCF 12, the Mr interface for exchanging messages between an S-CSCF 11 and an MRFC 13, and the Mw interface for exchanging messages between CSCFs 11. Messages are exchanged between an S-CSCF 11 and an AS 16 in the IMS Service network 15 via the ISC interface. The main functions of the ISC interface are: to notify the AS 16 of the registration state and capabilities of the registered User Equipment (UE); to supply the AS 16 with information to allow it to execute multiple services; and to convey charging function addresses.
In general SIP signals are directed between a pair of end points. In other words the address information provided by the sender in the signal header specifies the recipient end-point (e.g. in the form of a recipient uniform resource identifier, R-URI), and the signal is routed over the network to that end-point. However, there are a number of situations in which SIP signals are re-targeted to a different end-point. Examples of IMS services that involve retargeting include Communication Diversion (CDIV), Do Not Disturb, Communication Distribution, Flexible Alerting, and Conference.
For example, the 3GPP technical specification TS 24.604 Communication Diversion defines how a user B that receives a communication (SIP INVITE) or message (SIP MESSAGE) is able to divert the communication to a new target C—a user, or other entity in a terminating network. Thus, for example, a SIP INVITE may be sent from an entity in an originating network towards user B. The IMS network serving user B includes an S-CSCF assigned to user B and an AS providing a CDIV service. The S-CSCF forwards the SIP INVITE to B's terminating AS, which triggers the CDIV procedure that sends a new SIP INVITE towards user C. The R-URI is changed by B's terminating AS so that the S-CSCF routes the new SIP INVITE towards C's terminating network.
As the example above shows, a service can change the calling or called user identity as a result of service execution. RFC 3325 introduced the concept of the P-Asserted-Identity (PAI) private SIP header to enable a network of trusted SIP servers to assert the identity of authenticated users. According to 3GPP TS 24.229, the P-CSCF inserts in the SIP message a PAI header with a value representing the initiator of the message.
The charging mechanisms for IMS sessions are either offline (post-paid) charging or online (pre-paid) charging. For off-line charging the various IMS network entities that handle transactions act as charge triggering functions (CTFs) generating charging information which is sent to a Charging Data Function (CDF). For on-line charging, the IMS network entities communicate with an Online Charging System (OCS). The information collected by the CDF/OCS in this way is categorized as charging information, but in fact it can be information relating to things other than charging (billing), such as a form of Deep Packet Inspection (DPI), statistics, security, traffic monitoring, etc. and may be used in whatever way the operator sees fit.
The charging information generated for a service shall, according to 3GPP TS 32.299, include a Calling-Party-Address Attribute Value Pair (AVP) based on the PAI header. However, there is no corresponding AVP that carries the address of the served user.
FIGS. 2a and 2b illustrate the SIP signals involved in establishing a typical call from an originating user 20 accessing an originating side network and destined for a terminating user of a terminating side network 25. FIG. 2a concerns mainly the originating side network entities, while FIG. 2b concerns mainly the terminating side. The originating user 20 has an identity (e.g. URI/address) A, while the terminating user has an identity B. Note that the signalling shown in FIGS. 2a and 2b (and also in FIGS. 3a and 3b described later), have been simplified for clarity. In particular, certain SIP messages and Diameter messages used for charging are not shown completely.
In FIG. 2a, the SIP signals are shown in A's home IMS network involving: a CSCF, CSCF-A 21: an Application Server, AS-A 22; a CDF, CDF-A 23; and a BGCF, BGCF-A 24. Signal 201 is a SIP INVITE destined for the terminating user, identified as B, in terminating network 25 sent by the originating user 20 to CSCF-A 21. The SIP INVITE includes the P-Preferred-Identity A of originating user 20. This is replaced with a P-Asserted-Identity by the P-CSCF (not shown in FIG. 2a). Signal 202 is a charging output sent by CSCF-A 21 to CDF-A 23 and includes the identity of the calling party A, derived from the P-Asserted-Identity, in the form of a Calling-Party-Address AVP. Signal 203 is a SIP INVITE destined for B sent by CSCF-A 21 to the AS-A 22 for the provision of a service in relation to the call. The SIP INVITE 203 also includes the P-Asserted-Identity A. Signal 204 is a charging output sent by the AS-A 22 to the CDF-A 23. However, this charging output contains an identity X in the Calling-Party-Address AVP instead of the identity A. Certain services can modify the PAI header (e.g. replace the extension number with the number of the main switchboard), and the new PAI header will be used in the subsequent SIP signalling and also used in the charging output. Thus, in this example, as a consequence of the service provided, the P-Asserted Identity has been changed from A to X. From here on, the PAI header in the SIP messages will all specify the identity X. Signal 205 is a SIP INVITE returned by the AS-A 22 to the CSCF-A 21. This is normally a new call leg (SIP session), and also triggers a new charging session. The SIP INVITE is forwarded in signal 206 to BGCF-A 24. Signal 207 is another charging output sent by BGCF-A 24 to the CDF-A 23, again including the identity X from the received PAI in the Calling-Party-Address AVP. Finally, the BFCF-A 24 forwards the SIP INVITE (signal 208) to the IMS network of the terminating user 25.
In FIG. 2b, the SIP signals are shown in B's home IMS network involving: a CSCF, CSCF-B 26: an Application Server, AS-B 27; a CDF, CDF-B 28; and a BGCF, BGCF-B 29. Signal 211 is the SIP INVITE destined for the terminating user, identified as B, sent by the originating user 20 arriving at CSCF-B 26. The SIP INVITE includes the P-asserted identity A of originating user 20. Signal 212 is a charging output sent by CSCF-B 26 to CDF-B 28 and includes the identity of the calling party A in the form of a Calling-party Address AVP. Signal 213 is a SIP INVITE destined for B sent by CSCF-B 26 to the AS-B 27 for the provision of a service in relation to the call. The SIP INVITE 213 includes a P-Asserted Identity A, and the P-served User identity is B. Signal 214 is a charging output sent by the AS-B 22 to the CDF-B 23. This charging output contains the Calling-Party-Address AVP with the identity A. Signal 215 is a SIP INVITE (normally a new call leg) returned by the AS-B 27 to the CSCF-B 26, and this is forwarded in signal 216 to BGCF-B 29. Signal 217 is another charging output sent by BGCF-B 29 to the CDF-B 28, including the identity A in the Calling-Party Address AVP. Finally, the BFCF-B 24 forwards the SIP INVITE (signal 218) to the terminating user of terminating network 25.
The 3GPP-initiated IETF Request For Comments, RFC 5502 introduced the concept of the P-Served-User (PSU) private SIP header to decouple the meaning of the calling user, and also the called user, from the served user. The PSU header is only defined for the ISC interface between the CSCF and ASs, and the P-Served-User identity is provided so that the ASs can identify the served user in relation to services to be executed for the user. A CSCF will not include the PSU header in SIP messages sent to other IMS entities in the same domain. Thus, for example, a BGCF node will not receive a PSU header, and can only use the PAI header to record the calling party address. The address of the served user, i.e. the one that most likely is to be charged, will not be visible. In many cases the operator would prefer that all collected charging information is consistently identified with the same, served user. This currently requires correlation of charging information from all the nodes that act as CTFs, even if correlation is unnecessary for any other purpose. Implementing such correlation can be a costly and complex process. In some cases, depending on the charging model that is used for a particular service, the operator might wish to change the user that is charged (e.g. between the calling party user and the served user) or to share charges between the calling and served users according to some predetermined split, but this is not currently possible.